A stereoscopic camera arrangement is an apparatus made of two camera units, assembled in a stereoscopic module. Stereoscopy (also referred to as “stereoscopics” or “3D imaging”) is a technique for creating or enhancing the illusion of depth in an image by means of stereopsis. In other words, it is the impression of depth that is perceived when a scene is viewed with both eyes by someone having normal binocular vision, which is responsible for creating two slightly different images of the scene in the two eyes due to the eyes′/camera's different locations.
Combining 3D information derived from stereoscopic images, and particularly for video streams, requires search and comparison of a large number of pixels to be held for each pair of images, each of which derived from a different image capturing device. For example, in a case of a 2MP sensor operating at 60 fps (frames per second) and generating 16 bpp (bits per pixel), the bit rate would be a 4 MB per frame or over 240 MB per second. This amount of information makes it virtually impossible (particularly for consumer products such as laptops and tablets) to have it processed or even stored for a short while, as to do so would require resources that are usually unavailable in consumer products, given their expected target prices.
Depth calculation under real time conditions typically consumes quite a substantial amount of the processing device's available CPU.
For carrying out depth calculation using rectified stereo images, the depth is calculated by the disparity between the two images.
The depth to be detected, dictates a disparity range to be checked. In order to detect all objects that are present within a required depth range, the system must check each pixel in order to find the best disparity of all values for this range. This process is very cumbersome and may require a considerable CPU resources or dedicated hardware, or might take a long period of time.
Therefore, there is a need for a method that would allow detecting only part of the optional disparity values but at the same time would not lead to missing objects that are present in these images.
Also, it is known that using only a partial range of the disparity existing between the two images, might cause a problem due to the fact that features present outside of the defined range, might be considered as features that are present within the range, and clearing the false disparity values has no efficient full solution. Therefore, the solution for this problem is to calculate the disparity in a loop process, wherein each stage uses only a certain range of disparities, and then to merge information that has conflicts due to false disparities that exist within each range.
In view of the above, the common solution nowadays is to check all relevant disparity values. This method, as explained above, may provide good results but yet consumes considerable amount of system resources.